From: Sean Whitton Date: Fri, 25 Jul 2025 08:14:34 +0000 (+0100) Subject: generate-emacs-builtin-package-info.el: Style tweaks X-Git-Tag: archive/raspbian/1%30.2+1-2+rpi1^2~17 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success/%22http:/www.example.com/cgi/success?a=commitdiff_plain;h=2f0996f4d4f41b8169d287a0f883c7fbae63c288;p=emacs.git generate-emacs-builtin-package-info.el: Style tweaks --- diff --git a/debian/generate-emacs-builtin-package-info.el b/debian/generate-emacs-builtin-package-info.el index 8292df5dccf..7eaf38e6f3e 100644 --- a/debian/generate-emacs-builtin-package-info.el +++ b/debian/generate-emacs-builtin-package-info.el @@ -8,47 +8,48 @@ (defun package-version-list-to-string (package-version-list) "Convert a package version list to version string acceptable in Debian." - (when package-version-list + (and package-version-list (let ((count 0) version-list) (dolist (item package-version-list) - (progn - (if (< item 0) - (progn - ;; This roughly matches the mapping in - ;; version-regexp-alist. - (cl-case item - (-1 (push "~rc" version-list)) - (-2 (push "~beta" version-list)) - (-3 (push "~alpha" version-list)) - (-4 (push "~snapshot" version-list)) - (t (error "Unknown version: %d" item))) - ;; no "." between prerelease name and number - (setq count 0)) - (when (> count 0) - (push "." version-list)) - (push (number-to-string item) version-list) - (cl-incf count)))) + (if (cl-minusp item) + (progn + ;; This roughly matches the mapping in + ;; `version-regexp-alist'. + (cl-case item + (-1 (push "~rc" version-list)) + (-2 (push "~beta" version-list)) + (-3 (push "~alpha" version-list)) + (-4 (push "~snapshot" version-list)) + (t (error "Unknown version: %d" item))) + ;; no "." between prerelease name and number + (setq count 0)) + (when (cl-plusp count) + (push "." version-list)) + (push (number-to-string item) version-list) + (cl-incf count))) (string-join (nreverse version-list))))) (defun emacs-provided-package-versions () "Return an alist of Debian package name to version mapping." - (let (emacs-provided-package-versions) - (mapc (lambda (package-name) - (let* ((debian-package-name (concat "elpa-" - (symbol-name package-name))) - (debian-package-version (package-version-list-to-string - (package-builtin-package-version - package-name)))) - (when (not (member debian-package-name package-skip-list)) - (push `(,debian-package-name . ,debian-package-version) - emacs-provided-package-versions)))) - (package-versioned-builtin-packages)) - (sort emacs-provided-package-versions))) + (sort + (mapcan + (lambda (package-name) + (let* ((debian-package-name (concat "elpa-" + (symbol-name package-name))) + (debian-package-version (package-version-list-to-string + (package-builtin-package-version + package-name)))) + + (and (not (member debian-package-name package-skip-list)) + `((,debian-package-name . ,debian-package-version))))) + (package-versioned-builtin-packages)))) (defun print-help () "Print help info" - (message "Generate information for Emacs built-in packages. Please use the following options: + (message "Generate information for Emacs built-in packages. + +Modes: --json Generate a report in human readable JSON format --substvars Generate substvars for Emacs build process --script-help This help info @@ -56,11 +57,12 @@ (defun generate-builtin-package-info-json () "Generate Emacs built-in-package info report in JSON format." - (princ (format "%s\n" - (with-temp-buffer - (insert (json-encode (emacs-provided-package-versions))) - (json-pretty-print-buffer) - (buffer-string))))) + (princ + (format "%s\n" + (with-temp-buffer + (insert (json-encode (emacs-provided-package-versions))) + (json-pretty-print-buffer) + (buffer-string))))) (defun generate-builtin-package-info-substvars () "Generate Emacs built-in package info as substvars for emacs-common." @@ -70,15 +72,17 @@ (mapc (lambda (package-version) (let* ((name (car package-version)) (version (cdr package-version)) - (provides-entry-string (concat name - (when version - (format " (= %s)" version)) - ",")) - (replaces-entry-string (concat name - (when version - (format " (<< %s)" version)) - ","))) - (when (> count 0) + (provides-entry-string + (concat name + (and version + (format " (= %s)" version)) + ",")) + (replaces-entry-string + (concat name + (and version + (format " (<< %s)" version)) + ","))) + (when (cl-plusp count) (push " " provides-substvars-list) (push " " replaces-substvars-list)) (push provides-entry-string provides-substvars-list) @@ -89,16 +93,18 @@ (string-join (nreverse provides-substvars-list))) (debian-replaces-substvars-string (string-join (nreverse replaces-substvars-list)))) - (princ (format "emacs:Provides=%s\n" debian-provides-substvars-string)) - (princ (format "emacs:Breaks=%s\n" debian-replaces-substvars-string)) - (princ (format "emacs:Replaces=%s\n" debian-replaces-substvars-string))))) + (princ + (format "emacs:Provides=%s\nemacs:Breaks=%s\nemacs:Replaces=%s\n" + debian-provides-substvars-string + debian-replaces-substvars-string + debian-replaces-substvars-string))))) (defun main () "Main program entrance." (if (not argv) (print "Missing argument. Should specify \"--report\" or \"--substvars\"." #'external-debugging-output) - (let ((option (elt argv 0))) + (let ((option (pop argv))) (pcase option ("--json" (generate-builtin-package-info-json)) ("--substvars" (generate-builtin-package-info-substvars))